1.1 操作plist数据
1.1.1 plist数据介绍
课程说明:本课讲解
plist
数据格式以及如何编辑plist
文件。
1.1.2 plist数组解析
课程说明:本课讲解如何解析plist数组。
TestArr.plist
ViewController.swift
1 | // 取出plist中的数据(数组) |
1 | Optional(( |
1.1.3 plist字典解析
课程说明:本课讲解如何解析
plist
字典。
TestDic.plist
ViewController.swift
1 | let dict = NSDictionary(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("TestDic", ofType: "plist")!)); |
1 | Optional({ |
1.2 CoreData
SQLite
1.2.1 创建使用CoreData
的项目
课程说明:本课介绍
SQLite
以及如何创建一个使用CoreData
的项目。
1 | // 操作sqlite的上下文环境 |
1.2.2 设计数据结构
课程说明:本课介绍如何使用
Xcode
设计数据库的结构。
1.2.3 插入数据
课程说明:本课介绍如何插入一条数据。
1.2.3.1 插入数据
ViewController.swift
1 | import UIKit |
1.2.3.2 查看SQLite
文件地址
AppDelegate.swift
1 | import UIKit |
1 | file:///Users/tonyearth/Library/Developer/CoreSimulator/Devices/1041D05D-4C13-45A9-BD8C-B209722B59F2/data/Containers/Data/Application/AA16281E-DE67-4A56-859C-2C96834101CE/Documents/SingleViewCoreData.sqlite |
1.2.4 读取数据
课程说明:本课讲解如何读取
SQLite
的数据。
UserTableViewController.swift
1 | ... |
1.2.5 更新数据
课程说明:本课讲解如何更新数据。
UserContentViewController.swift
1 | import UIKit |
1.2.6 删除数据
课程说明:本课讲解如何删除数据。
UserTableViewController.swift
1 | import UIKit |
1.3 操作 JSON 数据
1.3.1 JSON数据介绍
课程说明:本课时讲解
JSON
格式数据的语法。
1.3.2 Swift 解析 JSON 数据
课程说明:本课时讲解如何使用
Swift
语言解析JSON
格式的数据。
1 | do { |
1.3.3 Swift 生成 JSON 数据
课程说明:本课时讲解如何使用
Swift
语言生成JSON
格式数据。
1 | // 字典 |
1.4 操作XML数据
1.4.1 XML格式数据介绍
课程说明:本课介绍XML格式数据的结构以及如何编写XML文件
1.4.2 Swift解析XML格式的数据
课程说明:本课介绍如何使用Swift语言解析
XML
格式的数据
- 引入资源:xml 文件
- 采纳协议:
NSXMLParserDelegate
- 获取资源并解析(通过代理)
testData.xml
说明:待解析的 xml 文件
1 | <data> |
ViewController.swift
1 | import UIKit |
1.4.3 选择题实例
课程说明:本课用一个实例演示如何在程序中使用
XML
格式的数据
- (工程)引入 xml 文件
- (storyboard)编辑界面
- (ViewController.swift)绑定控件和注册事件
1.5 iOS用户首选项数据
1.5.1 用户首选项数据说明
课程说明:本课讲解iOS首选项数据的概念及用途
说明:用户首选项数据适合以下场景
- 数据量小
- 键值对形式存储
- 保存到首选项的数据在app关闭后不会被清空
1.5.2 存储用户首选项数据
课程说明:本课讲解如何存储用户首选项数据
ViewController.swift
1 | import UIKit |
1.5.3 读取用户首选项数据
课程说明:本课讲解如何读取用户首选项数据
1.5.4 启动时小贴士实例
课程说明:本课用一个小实例演示用户首选项数据的使用场景
1 | import UIKit |
1.6 iOS文件存取
1.6.1 iOS应用沙盒
笔记参考:http://blog.csdn.net/wzzvictory/article/details/18269713
沙盒机制:出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如系统通讯录能在用户授权的情况下被第三方应用访问)。
1.6.1.1 app目录
说明:每个应用的沙盒目录都是相似的,主要包如下所示的4个目录
1 | . |
目录 | 内容 | 读写 | 是否会被iTunes同步 | 说明 |
---|---|---|---|---|
MyApp.app |
应用程序本身的数据,包括资源文件 和可执行文件 等 |
只读 | 否 | |
Documents |
读写 | 是 | 应用程序的数据文件保存在该目录下 | 数据类型仅限于不可再生 的数据,可再生 的数据文件应该存放在Library/Cache 目录下。 |
Documents/Inbox |
用来保存由外部应用请求当前应用程序打开的文件 | 读写 | 是 | 比如我们的应用叫A ,向系统注册了几种可打开的文件格式,B 应用有一个A 支持的格式的文件F ,并且申请调用A 打开F 。由于F 当前是在B 应用的沙盒中,我们知道,沙盒机制是不允许A 访问B 沙盒中的文件,因此苹果的解决方案是将F 拷贝一份到A 应用的Documents/Inbox 目录下,再让A 打开F 。 |
Library |
苹果建议用来存放默认设置或其它状态信息 | 读写 | 是,但是要除了Caches 子目录外 |
|
Library/Caches |
主要是缓存文件,用户使用过程中缓存都可以保存在这个目录中 | 读写 | 否 | Documents目录用于保存不可再生的文件,那么这个目录就用于保存那些可再生的文件,比如网络请求的数据。鉴于此,应用程序通常还需要负责删除这些文件。 |
Library/Preferences |
应用程序的偏好设置文件 | 读写 | 是 | 我们使用NSUserDefaults 写的设置数据都会保存到该目录下的一个plist 文件中,这就是所谓的写到plist 中! |
tmp |
各种临时文件,保存应用再次启动时不需要的文件 | 读写 | 否 | 当应用不再需要这些文件时应该主动将其删除,因为该目录下的东西随时有可能被系统清理掉,目前已知的一种可能清理的原因是系统磁盘存储空间不足的时候。 |
1.6.1.2 获取目录 API
NSSearchPathForDirectoriesInDomains方法
说明:用于返回指定范围内的指定名称的目录的路径集合
注意:使用沙盒/Documents
目录要用该方法获取路径
1 | /** |
1.6.2 写入文件
1 | /*- 获取目录路径 -*/ |
1.6.3 读取文件
1 | /*- 从文件中读取文本 -*/ |